jmp start
string db 'abcdefghgijklmnopqrstuvwxyz'

start:
    mov ax,0x7c00
    mov ds,ax
    mov ax,cs
    mov ss,ax
    mov sp,0
    mov cx,start - string
    mov bx,string

lppush
    mov al,ds:[bx]
    push ax
    inc bx
    loop lppush

    mov cx,start - string
    mov bx,string

lppop:
    pop ax
    mov ds:[bx],al
    inc bx
    loop lppop

    mov cx,start - string
    mov di,string
    mov ax,0xb800
    mov es,ax
    mov si,0

shownum:
    mov byte [es:si],[ds:di]
    inc si
    mov byte [es:si],0x70
    inc si
    inc di
    loop shownum

    jmp $

    times 510 - ($-$$) db 0
    db 0x55,0xaa